package com.yupi.yupao.model.dto;


import com.yupi.yupao.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;


import java.util.List;

/**
 * 队伍查询封装类
 *
 * 为什么需要请求参数包装类？
 * 1.请求参数名称/类型和实体类不一样
 * 2.有一些参数用不到，如果要自动生成接口文档，会增加理解成本
 * 3.多个实体类映射到同一个对象
 *
 * 为什么需要包装类？
 * 可能有些字段需要隐藏，不能返回给前端
 * 或者有些字段某些方法是不关心的
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class TeamQuery extends PageRequest {

    /**
     * id
     */
    private Long id;

    /**
     * id 列表
     */
    private List<Long> idList;

    /**
     * 搜索关键词（同时对队伍名称和描述搜索）
     */
    private String searchText;

    /**
     * 队伍名称
     */
    private String name;

    /**
     * 描述
     */
    private String description;

    /**
     * 最大人数
     */
    private Integer maxNum;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 0 - 公开，1 - 私有，2 - 加密
     */
    private Integer status;
}
